package com.heng.volatileDemo;

import java.util.concurrent.TimeUnit;

public class VolatileDemo1 {
    static volatile boolean  flag = true;//可见性！真强！
    public static void main(String[] args) {
        new Thread(() -> {
            System.out.println(Thread.currentThread().getName() + "\t ---come in");
            while (flag) {

            }
            System.out.println(Thread.currentThread().getName() + "\t ---flag被修改，程序结束");

        },"t1").start();


        //笑了，MILLSECONDS就能达到可见性的效果！！！
        try{TimeUnit.SECONDS.sleep(1);}catch (InterruptedException e){e.printStackTrace();}

        flag = false;//为什么是可见的！

        System.out.println(Thread.currentThread().getName() + "\t 修改完成");


    }

}
